package com.eaglefly.redis.annotation;

import com.eaglefly.redis.key.DaoNameKeyGenerator;
import com.eaglefly.redis.key.RedisKeyGenerator;
import org.redisson.client.codec.Codec;
import org.redisson.codec.JsonJacksonCodec;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 功能：
 * 时间：2018/1/5 14:38
 *
 * @author zhaojinpeng
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface RDao {

    /**
     * redisKey
     */
    String key() default "";

    /**
     * 序列化方式 默认jackson
     */
    Class<? extends Codec> codec() default JsonJacksonCodec.class;

    /**
     * redisKey生成器
     */
    Class<? extends RedisKeyGenerator> keyGenerator() default DaoNameKeyGenerator.class;


}
